import 'dart:math';

import 'package:flutter/material.dart';

class BuildingList extends StatefulWidget {
  const BuildingList({super.key, required this.point});

  final String point;

  @override
  State<BuildingList> createState() => _RoomListState();
}

class _RoomListState extends State<BuildingList> {
  Map data = {
    "point": "", // 记录小区信息
    "size": 0, // 随机产生楼栋的数量
    "type": "", // 小区的楼栋名称(size>4 单元, size<=4 号楼)
  };

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _getBuilderList();
  }

  //造虚拟数据
  _getBuilderList() {
    // 小区信息
    data['point'] = widget.point;
    // 随机产生楼栋数量
    Random random = Random();
    data['size'] = random.nextInt(6) + 5;
    // 小区的楼栋名称(size>7 单元, size<=7 号楼)
    data['type'] = data['size'] > 7 ? '单元' : '号楼';
    // print(data);
    setState(() {});
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('选择楼栋'),
      ),
      body: ListView.builder(
        itemBuilder: (BuildContext context, int index) {
          return Container(
              color: Colors.white,
              padding: const EdgeInsets.all(10),
              child: GestureDetector(
                onTap: () {
                  Navigator.pushNamed(context, 'room_list', arguments: {
                    'point': '${data['point']}',
                    'building': '${index + 1}${data['type']}'
                  });
                },
                child: Row(
                  children: [
                    Expanded(
                        child: Text(
                            '${data['point']}${index + 1}${data['type']}')),
                    Row(
                      children: [
                        Icon(Icons.arrow_forward_ios,
                            size: 16, color: Colors.black),
                      ],
                    )
                  ],
                ),
              ));
        },
        itemCount: data['size'],
      ),
    );
  }
}
